package traderate

import (
	"sync"
)

// Tags 结构体
type Tags struct {
	// 表示标签的名称
	TagName string `json:"tag_name,omitempty" xml:"tag_name,omitempty"`
	// 表示标签的极性，正极true，负极false
	Posi bool `json:"posi,omitempty" xml:"posi,omitempty"`
}

var poolTags = sync.Pool{
	New: func() any {
		return new(Tags)
	},
}

// GetTags() 从对象池中获取Tags
func GetTags() *Tags {
	return poolTags.Get().(*Tags)
}

// ReleaseTags 释放Tags
func ReleaseTags(v *Tags) {
	v.TagName = ""
	v.Posi = false
	poolTags.Put(v)
}
